Warning: mkdir(): No space left on device in /var/www/tg-me/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/devopsslib/--): Failed to open stream: No such file or directory in /var/www/tg-me/post.php on line 50
Библиотека девопса | DevOps, SRE, Sysadmin | Telegram Webview: devopsslib/3672 -
Telegram Group & Telegram Channel
🧑‍💻 Практический пример для Ansible

Основной элемент в Ansible — это playbook, который описывает последовательность задач для выполнения на удалённых серверах.

1️⃣ Определите цель плейбука

Чтобы написать хороший плейбук нужно определиться с его целью. Цель должна быть чётко сформулирована, например: установка пакетов, настройка сервисов, деплой приложения.

2️⃣ Определите основные переменные и хосты в inventory.ini

Inventory.ini — это стандартный файл инвентаризации в Ansible, где перечисляются хосты и группы хостов, на которых будут выполняться плейбуки.

[webservers]
web1.example.com
web2.example.com

[dbservers]
db1.example.com
db2.example.com

[backup_server]
backup-server.example.com

[all:vars]
ansible_user=admin
ansible_ssh_private_key_file=~/.ssh/id_rsa


3️⃣ Напишите сам плейбук

Затем можно написать сам плейбук. Как пример — плейбук, шифрует архив с помощью GPG и загружает на удалённый сервер хранения:
- name: Резервное копирование с шифрованием и загрузкой
hosts: localhost
vars:
backup_files:
- /etc/nginx/nginx.conf
- /var/www/html
backup_dest: /tmp/backup.tar.gz
gpg_recipient: "backup@example.com"
tasks:
- name: Создать архив с файлами
archive:
path: "{{ backup_files }}"
dest: "{{ backup_dest }}"

- name: Зашифровать архив GPG
command: "gpg --output {{ backup_dest }}.gpg --encrypt --recipient {{ gpg_recipient }} {{ backup_dest }}"
args:
removes: "{{ backup_dest }}"

- name: Копировать зашифрованный архив на удалённый сервер
copy:
src: "{{ backup_dest }}.gpg"
dest: "/backup/{{ inventory_hostname }}_backup.gpg"
delegate_to: backup_server


4️⃣ Вынесите переменные в отдельный файл

Это может быть небольшой файл, который можно переиспользовать:
backup_files:
- /etc/nginx/nginx.conf
- /var/www/html
backup_dest: /tmp/backup.tar.gz
gpg_recipient: "backup@example.com"


Бонус: плейбук для создания кастомного ASCII-арт баннера на удалённых серверах.
- name: Создать ASCII-арт баннер на сервере
hosts: all
become: yes
tasks:
- name: Установить figlet для генерации ASCII-арта
apt:
name: figlet
state: present
update_cache: yes

- name: Сгенерировать ASCII баннер и записать в файл /etc/motd
shell: echo "Welcome to $(hostname)" | figlet > /etc/motd
args:
creates: /etc/motd


Ansible можно использовать не только для настройки, но и для улучшения пользовательского опыта.

🐸Библиотека devops'a #буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/devopsslib/3672
Create:
Last Update:

🧑‍💻 Практический пример для Ansible

Основной элемент в Ansible — это playbook, который описывает последовательность задач для выполнения на удалённых серверах.

1️⃣ Определите цель плейбука

Чтобы написать хороший плейбук нужно определиться с его целью. Цель должна быть чётко сформулирована, например: установка пакетов, настройка сервисов, деплой приложения.

2️⃣ Определите основные переменные и хосты в inventory.ini

Inventory.ini — это стандартный файл инвентаризации в Ansible, где перечисляются хосты и группы хостов, на которых будут выполняться плейбуки.

[webservers]
web1.example.com
web2.example.com

[dbservers]
db1.example.com
db2.example.com

[backup_server]
backup-server.example.com

[all:vars]
ansible_user=admin
ansible_ssh_private_key_file=~/.ssh/id_rsa


3️⃣ Напишите сам плейбук

Затем можно написать сам плейбук. Как пример — плейбук, шифрует архив с помощью GPG и загружает на удалённый сервер хранения:
- name: Резервное копирование с шифрованием и загрузкой
hosts: localhost
vars:
backup_files:
- /etc/nginx/nginx.conf
- /var/www/html
backup_dest: /tmp/backup.tar.gz
gpg_recipient: "backup@example.com"
tasks:
- name: Создать архив с файлами
archive:
path: "{{ backup_files }}"
dest: "{{ backup_dest }}"

- name: Зашифровать архив GPG
command: "gpg --output {{ backup_dest }}.gpg --encrypt --recipient {{ gpg_recipient }} {{ backup_dest }}"
args:
removes: "{{ backup_dest }}"

- name: Копировать зашифрованный архив на удалённый сервер
copy:
src: "{{ backup_dest }}.gpg"
dest: "/backup/{{ inventory_hostname }}_backup.gpg"
delegate_to: backup_server


4️⃣ Вынесите переменные в отдельный файл

Это может быть небольшой файл, который можно переиспользовать:
backup_files:
- /etc/nginx/nginx.conf
- /var/www/html
backup_dest: /tmp/backup.tar.gz
gpg_recipient: "backup@example.com"


Бонус: плейбук для создания кастомного ASCII-арт баннера на удалённых серверах.
- name: Создать ASCII-арт баннер на сервере
hosts: all
become: yes
tasks:
- name: Установить figlet для генерации ASCII-арта
apt:
name: figlet
state: present
update_cache: yes

- name: Сгенерировать ASCII баннер и записать в файл /etc/motd
shell: echo "Welcome to $(hostname)" | figlet > /etc/motd
args:
creates: /etc/motd


Ansible можно использовать не только для настройки, но и для улучшения пользовательского опыта.

🐸Библиотека devops'a #буст

BY Библиотека девопса | DevOps, SRE, Sysadmin




Share with your friend now:
tg-me.com/devopsslib/3672

View MORE
Open in Telegram


Библиотека девопса | DevOps SRE Sysadmin Telegram | DID YOU KNOW?

Date: |

The global forecast for the Asian markets is murky following recent volatility, with crude oil prices providing support in what has been an otherwise tough month. The European markets were down and the U.S. bourses were mixed and flat and the Asian markets figure to split the difference.The TSE finished modestly lower on Friday following losses from the financial shares and property stocks.For the day, the index sank 15.09 points or 0.49 percent to finish at 3,061.35 after trading between 3,057.84 and 3,089.78. Volume was 1.39 billion shares worth 1.30 billion Singapore dollars. There were 285 decliners and 184 gainers.

Should I buy bitcoin?

“To the extent it is used I fear it’s often for illicit finance. It’s an extremely inefficient way of conducting transactions, and the amount of energy that’s consumed in processing those transactions is staggering,” the former Fed chairwoman said. Yellen’s comments have been cited as a reason for bitcoin’s recent losses. However, Yellen’s assessment of bitcoin as a inefficient medium of exchange is an important point and one that has already been raised in the past by bitcoin bulls. Using a volatile asset in exchange for goods and services makes little sense if the asset can tumble 10% in a day, or surge 80% over the course of a two months as bitcoin has done in 2021, critics argue. To put a finer point on it, over the past 12 months bitcoin has registered 8 corrections, defined as a decline from a recent peak of at least 10% but not more than 20%, and two bear markets, which are defined as falls of 20% or more, according to Dow Jones Market Data.

Библиотека девопса | DevOps SRE Sysadmin from fr


Telegram Библиотека девопса | DevOps, SRE, Sysadmin
FROM USA